package com.qiaodata.datatrans.transfor;

import com.alibaba.fastjson.JSONObject;
import com.qiaodata.datatrans.model.TransRecord;
import com.qiaodata.datatrans.utils.JsonRet;
import com.qiaodata.datatrans.utils.PostgresqlUtil;
import com.qiaodata.datatrans.utils.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * Created by Administrator on 2016/11/17 0017.
 */
@Service
@Slf4j
public class AskInnerService {

    /**
     * 内部调用，主要给import接口使用
     * @param tel_id
     * @param email
     * @param refresh_time
     * @return
     * @throws Exception
     */
    public String getAskResultInner(String tel_id, String email, String refresh_time) throws Exception {
        String flag = "0";//版本比较结果：0--巧达版本高；1--全职版本高
        if (tel_id!=null && !"".equals(tel_id.trim())
                && email!=null
                && !"".equals(email.trim())
                && refresh_time!=null
                && !"".equals(refresh_time.trim())) {
            log.debug("入参为：tel_id="+tel_id+", email="+email+", refresh_time="+refresh_time);
            //查询postgreSQL库查看是否有，如果有返回一条最新；如果没有，返回空
            JSONObject jsonObject = PostgresqlUtil.getOneNewResumer(tel_id, email);
            //定义返回数据结果
            JSONObject retJson = new JSONObject();
            retJson.put("tel_id", tel_id);
            retJson.put("email", email);
            retJson.put("refresh_time", refresh_time);
            //判断结果
            if (jsonObject==null) {
                //说明巧达不存在该条记录，返回需要入库
                log.debug("该条记录巧达需要入库:tel_id="+tel_id+",email="+email);
                return flag;
            }
            Object refObj = jsonObject.get("refresh_time");
            if (refObj==null || (0l==Long.parseLong(refObj.toString())) || "".equals(refObj.toString())) {
                log.debug("该条记录巧达需要入库:tel_id="+tel_id+",email="+email);
                return flag;
            }
            //巧达数据库的最新记录
            long retime = Long.parseLong(refObj.toString());
            String tel_id_qd = (String) jsonObject.get("tel_id");
            String email_qd = (String) jsonObject.get("email");
            //全职网的最新时间
            long refreshIn = StringUtil.parseLong(refresh_time);
            if (refreshIn>retime) {
                flag = "1";//输入版本高
            }
            if (refreshIn<=retime) {
                flag = "0";//巧达版本高
            }
            //判断结果：含有结果，且巧达比较新
            if ("0".equals(flag)) {
                log.debug("该条记录巧达版本最新，不需要入库:tel_id="+tel_id);
                retJson.put("tel_id", tel_id_qd);
                retJson.put("email", email_qd);
                retJson.put("refresh_time", retime);
                return flag;
            }
            //判断结果：含有结果，且巧达比较旧
            if("1".equals(flag)) {
                log.debug("该条记录巧达版本较旧，需要入库:tel_id="+tel_id+",email="+email);
                return flag;
            }
            return flag;
        }

        return flag;
    }

}
